/**
 * Created by 57376 on 2017/12/1.
 */

$(document).ready(function () {

	//加载页面后自动触发一次验证码点击事件，发送ajax请求，获取验证码返回的text数据
	$('#imgAuthCode').trigger("click");
	
    //设置密码 ：input 的监听事件
    $("#form-pwd1").bind("input propertychange",function () {
        var pwd1Val=$('#form-pwd1').val();
        function checkStrong(val) {
            var modes = 0;
            if (val.length < 6) return 0;
            if (/\d/.test(val)) modes++; //数字
            if (/[a-z]/.test(val)) modes++; //小写
            if (/[A-Z]/.test(val)) modes++; //大写
            if (/\W/.test(val)) modes++; //特殊字符
            if (val.length > 12) return 4;
            return modes;
        };
        var num = checkStrong(pwd1Val);
        switch (num) {
            case 0:
                break;
            case 1:
                $('#form-item-pwd1').css('border-color','#ddd');
                $('#form-item-pwd1 i').css('display','block');
                $('#div_pwd1 i').removeClass('span-status');
                $('#div_pwd1 i').addClass('weak');
                $('#div_pwd1 span').html('有被盗的风险，建议使用字母、数字和符号两种以上的组合')
               console.log('弱')
                break;
            case 2:
                console.log('中')
                $('#form-item-pwd1').css('border-color','#ddd');
                $('#form-item-pwd1 i').css('display','block');
                $('#div_pwd1 i').removeClass('span-status');
                $('#div_pwd1 i').addClass('pwd-middle');
                $('#div_pwd1 span').html('安全强度适中，可以使用三种以上的组合来提高安全强度')
                break;
            case 3:
                console.log('中')
                $('#form-item-pwd1').css('border-color','#ddd');
                $('#form-item-pwd1 i').css('display','block');
                $('#div_pwd1 i').removeClass('span-status');
                $('#div_pwd1 i').addClass('pwd-middle');
                $('#div_pwd1 span').html('安全强度适中，可以使用三种以上的组合来提高安全强度')
                break;
            case 4:
                console.log('强')
                $('#form-item-pwd1').css('border-color','#ddd');
                $('#form-item-pwd1 i').css('display','block');
                $('#div_pwd1 i').removeClass('span-status');
                $('#div_pwd1 i').addClass('strong');
                $('#div_pwd1 span').html('你的密码很安全')
                break;
            default:
                break;
        }

    });
})
 
    //   显示公用方法
    /*
     * 显示错误信息div的方法
     * 说明：定义一个显示错误信息函数
     * 参数：eId要显示div的id
     * 参数: msg要显示信息的内容
     * */
    function showErrorMsg(eId, msg) {
        if(eId=='div_uname'){
            $('#div_uname span').html(msg);
        }else if (eId=='div_pwd1'){

            $('#div_pwd1 span').html(msg);
        }else if(eId=='div_pwd2'){

            $('#div_pwd2 span').html(msg)
        }else if(eId=='div_phone'){

            $('#div_phone span').html(msg)
        }

    }
    /*
     * 定义一个隐藏错误信息的函数
     * 说明：隐藏错误的信息函数
     * 参数：eId  要隐藏的div的id
     * */
    function clearMsg(eId) {
        if(eId=='div_uname'){
        	$('#form-item-account i').css('display','none');
            $('#div_uname i ').addClass('span-status');
            $('#div_uname span').html('支持中文、字母、数字、“-”“_”的组合，6-20个字符');
        }else if (eId=='div_pwd1'){
        	$('#form-item-pwd1 i').css('display','none');
            $('#div_pwd1 i ').addClass('span-status');
            $('#div_pwd1 span').html('建议使用字母、数字和符号两种以及以上的组合，6-20个字符串');
        }else if(eId=='div_pwd2'){
        	$('#form-item-pwd2 i').css('display','none');
            $('#div_pwd2 i ').addClass('span-status');
            $('#div_pwd2 span').html('请再次输入密码');
        }else if(eId=='div_phone'){
        	$('#form-item-phone i').css('display','none');
            $('#div_phone i ').addClass('span-status');
            $('#div_phone span').html('请输入常用手机号');
        }else if(eId=='div_authcode'){
            $('#div_authcode i ').addClass('span-status');
            $('#div_authcode span').html('看不清？点击图片更换验证码');
        }

    }
    // 用户名 失去焦点
    function verifyUName(UName, eId) {
        var msg = "";
        var strUserName = UName.trim();
        //用户名必须6~20位.
        $.ajax({
        	type : "get",
			async : true,
			data : {
				username : strUserName
			},
			url : root + "/json/users/check_username?",
			success : function(res) {
				console.log(res)
				if(res.code==200){
					clearMsg(eId);
		            $("#form-item-account").css('border-color','#ddd');
		            $('#form-item-account i').css('display','block');
		            $('#div_uname').html('');
		            return true;
				}else if(res.code==1002) {
					msg = "<font color='red'>用户名不能为空,或用用户名格式不正确</font>";
		            showErrorMsg(eId, msg);
		            $('#form-item-account').css('border-color','red');
		            $('#div_uname i').removeClass('span-status');
		            $('#div_uname i').addClass('error-span-status');
		            return false;
		           
				}else if(res.code==1001){
					msg = "<font color='red'>用户名已存在</font>";
		            showErrorMsg(eId, msg);
		            $('#form-item-account').css('border-color','red');
		            $('#div_uname i').removeClass('span-status');
		            $('#div_uname i').addClass('error-span-status');
		            return false;
				}
			}
        })
    }
    /*
     * 设置密码部：需要2个部分
     * 1：input 实时监听
     * 2：input 失去焦点
     * */
//    设置密码  失去焦点
    function verifyPass(Pwd1,eId) {
        var msg = "";
        var strPwd = Pwd1.trim();
        //密码必须6~20位.
        if(strPwd.length < 6 || strPwd.length > 20 ){
            msg = "<font color='red'>密码必须6~20位</font>";
            showErrorMsg(eId,msg);           
            $('#form-item-pwd1').css('border-color','red');
            $('#div_pwd1 i').removeClass('span-status');
            $('#div_pwd1 i').addClass('error-span-status');
            return false;
        }else{
        	$('#form-item-pwd1 i').css('display','block');
        }
    }
/*
* 重复密码验证  失去焦点事件
* */
    function verifyRePass(pwd1,pwd2,eId){
        var msg = "";
        var strPwd1 = pwd1.trim();
        var strPwd2 = pwd2.trim();
        //密码必须6~20位.
        if(strPwd1 != strPwd2){
            msg = "<font color='red'>两次密码输入不一致</font>";
            showErrorMsg(eId,msg);
            $('#form-item-pwd2').css('border-color','red');
            $('#form-item-pwd2 i').css('display','none');
            $('#div_pwd2 i').removeClass('span-status');
            $('#div_pwd2 i').addClass('error-span-status');
            return false;
        }else if(strPwd1 == strPwd2 && strPwd2 !=''){
            clearMsg(eId);
            $('#form-item-pwd2').css('border-color','#ddd');
            $('#form-item-pwd2 i').css('display','block');
            $('#div_pwd2').html('');
            return true;
        }
    }

    /*
    * 手机号验证
    * */
    function verifyPhone(Phone,eId) {
        var msg = "";
        var strPhone = Phone.trim();
        $.ajax({
			type : "get",
			async : true,
			data : {
				phone : strPhone
			},
			url : root + "/json/users/check_phone?",
			success : function(res) {
				console.log(res)
				if(res.code==200){
					clearMsg(eId);
		            $('#form-item-phone i').css('display','block')
		            $('#form-item-phone').css('border-color','#ddd');
		            $('#div_phone').html('');
				}else if(res.code==1002) {
					msg = res.msg;
		            showErrorMsg(eId,msg);
		            $('#form-item-phone').css('border-color','red');
		            $('#div_phone i').removeClass('span-status');
		            $('#div_phone i').addClass('error-span-status');
		            return false;
				}else if(res.code==1001){
					console.log('手机已注册')
		        	msg = "<font color='red'>手机已注册是否找回密码</font>";
		            showErrorMsg(eId,msg);
		        	$('.orEmail').css('display','block');
		        	$('#div_phone i').removeClass('span-status');
		        	$('#div_phone i').addClass('phone-status');
				}
			}
		})  
    }

/*
* 验证码输入 失去焦点事件
* 点击切换验证码，请求新的验证码
*
* */
    function verifyauthCode(authcode,eId){
        var msg="";
        var strauthcode=authcode.trim();
        $('#div_authcode i').removeClass('span-status');
        $('#div_authcode span').html('');
    }
    
    
    var resCode;
  //点击验证码图片 请求心的验证码图片
    $('.img-code').on('click', function() {
	var t = new Date().getTime();
	$('.img-code').attr('src', root + 'captcha/4?time=' + t);
	setTimeout(function() {
		$.ajax({
			type : "get",
			async : true,
			url : root + "login.txt?time=" + t,
			success : function(result) {
				//获取验证码图片中的验证码
				var authcodeVal = result;
				console.log(authcodeVal);
				// 点击获取手机验证码，验证验证码是否正确
				$('#getPhoneCode').click(function() {
					//获取验证码框内的内容
					var authVal = $('#form-authcode').val();
					console.log(authVal);
					console.log(authcodeVal)
					//判断验证码是否输入正确
					if (authVal !== authcodeVal) {
						$('#form-item-authcode').css('border-color', 'red');
						$('#div_authcode i').addClass('error-span-status');
						var msg = "<font color='red'>验证码不正确或以过期</font>";
						$('#div_authcode span').html(msg);

					} else {
						//如果正确的话,发送向手机号发送短信
						$('#form-item-authcode').css('border-color', '#ddd');
						$('#div_authcode i').removeClass('error-span-status');

						var phoneVal = $('#form-phone').val();//手机号
						console.log(phoneVal);
						$.ajax({
							type : "get",
							async : true,
							data : {
								phone : phoneVal
							},
							url : root + "json/sms/reg?",
							success : function(res) {
									console.log(res.code);
								 	resCode=res.code;
								
							}
						})
					
						//发送成功后，倒计时60秒
						var timesRun = 60;
						$('#getPhoneCode').attr('disabled', "true");//添加disabled属性  
						var interval = setInterval(function() {
							timesRun--;
							$('#getPhoneCode').html('' + timesRun + 's后重新获取');
							if (timesRun == 0) {
								clearInterval(interval);
								$('#getPhoneCode').removeAttr("disabled"); //移除disabled属性
								$('#getPhoneCode').html('重新获取');
							}
						}, 1000);

					}

				})

			}
		});
	}, 500);

})

 //  点击提交事件   
 function submitAction() {
	var user_name = $('#form-account').val(), //用户名
	user_pwd1 = $('#form-pwd1').val(), //密码1
	user_pwd2 = $('#form-pwd2').val(), //密码2
	user_phone = $('#form-phone').val(), //手机号
	user_authcode = $('#form-authcode').val(), //图片验证码
	user_phonecode = $('#phoneCode').val();//手机验证码
	console.log(resCode);
	if (user_name == '') {
		$('#form-account').focus();
		return false;
	} else if (user_pwd1 == '') {
		$('#form-pwd1').focus();
		return false;
	} else if (user_pwd2 == '') {
		$('#form-pwd2').focus();
		return false;
	} else if (user_phone == '') {
		$('#form-phone').focus();
		return false;
	} else if (user_authcode == '') {
		$('#form-authcode').focus();
		return false;
	} else if (user_phonecode == '') {
		$('#phoneCode').focus();
		return false;
	}  else if (user_phonecode !== resCode) {
		$('#form-item-phonecode').css('border-color','red');
		$('#phoneCode').focus();
		return false;
	} else {
		document.getElementById("register-form").submit();
		alert('注册成功')
	}
}   



















